// index.js
// const baseURL = 'http://localhost:8080/'; // 在app.js的globalData里加入baseURL
// 获取应用实例
const app = getApp()
var imageUtil = require('../../utils/Constant.js')
var dateUtils = require('../../utils/Date.js')
console.log(dateUtils)
console.log(dateUtils.relativeTime("2022-10-17 14:57:31"))
Page({
  data: {
    typeList: [],
    articleList: [],
    flag: true, // 骨架屏标志
    index: 0, // 保存tab标签栏索引
    emptyFlag: false // 空数据标志
  },
  onLoad: function (options) {
    // 页面创建时执行
    console.log(options)
  },
  onShow: function () {
    // 页面出现在前台时执行
    var that = this;
    // 分类查询不需要进行登录
    let typeId = 0;
    app.http.get('tt/type/list?pageNum=1&pageSize=10', {}).then(res => {
      that.setData({
        typeList: res.rows
      })
      console.log(res.rows[0].id)
      typeId = res.rows[0].id
      // wx.setStorageSync('index', typeId)
      return typeId
    }).then(id => {
      console.log('=======')
      console.log(id)
      // 文章查询
      // 默认查询推荐分类的文章
      console.log('从本地缓存中获取')

      var index = wx.getStorageSync('index') // 从本地缓存中获取索引
      if (!index) {
        index = id
      }
      console.log(index)
      app.http.get('tt/article/listByTypeId', {
        typeId: index,
        time: ""
      }).then(res => {
        console.log(res)
        var list = res.rows;
        if (list) {
          for (var i = 0; i < list.length; i++) {
            list[i].img = imageUtil.baseUrl + list[i].img
            list[i].time = list[i].createTime // 方便根据业务时间戳进行分页
            list[i].createTime = dateUtils.relativeTime(list[i].createTime)
          }
        }
        that.setData({
          articleList: list
        })
        that.setData({
          flag: false
        })
      })
    })

  },
  onReady: function () {
    // 页面首次渲染完毕时执行
  },
  onHide: function () {
    // 页面从前台变为后台时执行
  },
  onUnload: function () {
    // 页面销毁时执行
  },
  onPullDownRefresh: function () {
    // 触发下拉刷新时执行
  },
  // 页面触底函数
  onReachBottom: function () {
    console.log('页面触底')
    // 页面触底时执行
    var that = this;
    // 保存当前的索引，在回退的时候   在重新加载页面的时候也从这里开始
    var typeId = wx.getStorageSync('index')
    var articleList = this.data.articleList
    for (var i = 0; i < articleList.length; i++) {
      console.log('遍历之前的数据')
      console.log(articleList[i])
    }
    var theLastOjb = articleList[articleList.length - 1];
    var time = theLastOjb.time // 获取到最后一个对象的时间做业务分页
    // 这里在进行分类切换的时候，time可能获取到的是underfine
    //    TODO  这里处理的有点问题 就是切换多次分类以后，会有重复的数据，但是后端返回的数据是没问题的
    // 应该先清除所有数据再获取

    app.http.get('tt/article/listByTypeId', {
      typeId: typeId,
      time: time
    }).then(res => {
      console.log(res)
      if (res.total == 0) { // 说明已经没有数据了
        that.setData({
          emptyFlag: true // 空数据
        })
        return;
      }
      var list = res.rows;
      var articleList = that.data.articleList // 先取出之前的数据
      for (var i = -0; i < list.length; i++) {
        console.log(list[i])
        list[i].time = list[i].createTime // 先保存起来，做业务偏移量
        list[i].createTime = dateUtils.relativeTime(list[i].createTime);
        articleList.push(list[i]) //  重新填充
      }
      that.setData({ // 重新设置
        articleList: articleList
      })
      // if (list) {
      // for (var i = 0; i < list.length; i++) {
      //   list[i].img = imageUtil.baseUrl + list[i].img
      //   list[i].createTime = dateUtils.relativeTime(list[i].createTime)
      // }
      // }
      // that.setData({
      //   articleList: list
      // })
    })
  },
  onShareAppMessage: function () {
    // 页面被用户分享时执行
  },
  onPageScroll: function () {
    // 页面滚动时执行
  },
  onResize: function () {
    // 页面尺寸变化时执行
  },
  // 事件处理函数
  bindViewTap() {
    wx.navigateTo({
      url: '../logs/logs'
    })
  },
  onSearch(e) {},
  toSearch() {
    console.log('去搜索页')
    wx.navigateTo({
      url: '../search/search',
    })
  },
  // 搜索方法
  onCancel(f) {
    console.log(1)
    // console.log(f)
  },
  // 去详情页
  toDetail(e) {
    var id = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: '../detail/detail?id=' + id,
    })
  },
  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    console.log('onUnload');
  },
  // 切换分类
  onClick(e) {
    this.setData({
      emptyFlag: false // 切换分类将状态置空
    })
    var that = this;
    // 保存当前的索引，在回退的时候   在重新加载页面的时候也从这里开始
    wx.setStorageSync('index', e.detail.name)
    console.log(e)
    app.http.get('tt/article/listByTypeId', {
      typeId: e.detail.name,
      time: ""
    }).then(res => {
      console.log(res)
      var list = res.rows;
      if (list.length == 0) { // 如果为0说明就没有数据
        that.setData({
          emptyFlag:true
        })
      }
      if (list) {
        for (var i = 0; i < list.length; i++) {
          list[i].img = imageUtil.baseUrl + list[i].img
          // list[i].time = list[i].createTime
          list[i].createTime = dateUtils.relativeTime(list[i].createTime)
          // 之前出现问题就是因为这里没有加  time 的保存，导致会有切换分类的时候，
          // 无法获取time 的业务偏移量分页，导致出现重复数据
        }
      }
      that.setData({
        articleList: list
      })
    })
  },
  methods: {



    onCancel(f) {
      console.log(1)
      console.log(f)
    }
  }

})